#include<iostream>
#include<string>

#include<stdio.h>
#include<string.h>

using namespace std;

bool canPermutePalindrome(string s) {
	int arr[128] = { 0 };
	for (const char e : s){
		arr[e]++;
	}
	//将字符串储存到哈希表中，再判断是否能重构出回文
	//回文：有一种或没有 奇数个的字符，其余字符均为偶数
	int count = 0;
	for (int i = 0; i < 128; i++){
		if (arr[i] % 2 == 1 && count != 0)
			return false;
		if (arr[i] % 2 == 1 && count == 0)
			count++;
	}
	return true;
}

int main()
{
	string str;
	cin >> str;
	if (canPermutePalindrome(str))
	{
		cout << "true" << endl;
	}
	else
	{
		cout << "flase" << endl;
	}
	return 0;
}

//bool CheckPermutation(string s1, string s2) {
//	int arr1[128] = { 0 };
//	for (const char e : s1){
//		arr1[e]++;
//	}
//	int arr2[128] = { 0 };
//	for (const char e : s2){
//		arr2[e]++;
//	}
//	//如果两个字符串对应的哈希表相同，则为同构
//	for (int i = 0; i < 128; i++){
//		if (arr1[i] != arr2[i])
//			return false;
//	}
//	return true;
//}
//
//int main()
//{
//	string str1, str2;
//	cin >> str1 >> str2;
//	if (CheckPermutation(str1, str2))
//	{
//		cout << "true" << endl;
//	}
//	else
//	{
//		cout << "flase" << endl;
//	}
//	return 0;
//}

//bool isUnique(string astr) {
//	int arr[128] = { 0 };
//	for (const char e : astr){
//		arr[e]++;
//	}
//	for (int i = 0; i < astr.size(); i++){
//		if (arr[astr[i]] > 1)
//			return false;
//	}
//	return true;
//}
//
//int main()
//{
//	string str;
//	cin >> str;
//	if (isUnique(str))
//	{
//		cout << "true" << endl;
//	}
//	else
//	{
//		cout << "flase" << endl;
//	}
//	return 0;
//}

//int FirstNotRepeatingChar(string str) {
//	int arr[128] = { 0 };		//ASCII码范围
//	for (const char e : str){
//		arr[e]++;
//	}
//	for (int i = 0; i < str.size(); i++){
//		if (arr[str[i]] == 1)
//			return i;
//	}
//	return -1;
//}
//
//int main()
//{
//	string str;
//	cin >> str;
//	cout << FirstNotRepeatingChar(str) << endl;
//	return 0;
//}
